Embodiments of the present invention relate generally to software development, and in particular to techniques for facilitating the development of Service Oriented Architecture (SOA) applications.
Software development can be a highly complex and interactive process. In many cases, it involves stakeholders from different organizations and with different perspectives (e.g., solution architects, developers, installation developers, etc.) who must cooperate over an extended period of time to deliver a polished software product.
With the rise in popularity of Service Oriented Architecture (SOA), the challenges of software development have increased rather than lessened. Generally speaking, SOA is a software design paradigm that encapsulates application functionality into loosely-coupled, reusable components, known as services. While SOA provides a number of benefits over more tightly-coupled software architectures, the SOA principles of service reusability, service autonomy, and service composability add additional layers of complexity to the software development lifecycle.
Accordingly, it would desirable to have techniques that facilitate the development of SOA applications.